package com.dpteam.service;

import com.dpteam.bean.MemberInfo;
import com.dpteam.model.Member;
import com.dpteam.util.Page;

import java.util.List;

/**
 * Created by YangZhi on 2016/1/10.
 * 会员模块
 */
public interface MemberService {

    /**
     * 添加一个会员
     * @param member
     * @return
     */
    int addMember(Member member);

    /**
     * 通过手机号查找会员
     * @param phone
     * @return
     */
    Member findByPhone(String phone);

    /**
     * 通过身份证号查询
     * @param IDCard
     * @return
     */
    Member findByIDCard(String IDCard);

    /**
     * 增加积分
     * @param memberId
     * @param addCount
     * @return
     */
    int addIntegralById(Integer memberId,Integer addCount);

    /**
     * 积分清零
     * @param memberId
     * @return
     */
    int clearIntegralById(Integer memberId);

    /**
     * 积分消耗
     * @param memberId
     * @return
     */
    int minusIntegralById(Integer memberId, Integer minusCount);

    /**
     * 按会员办理人查询会员
     *
     */
    List<Member> findByUserId(Integer casherId);

    /**
     * 查询全部会员
     * @return
     */
    List<Member> findAll();

    /**
     * 分页查询全部会员
     * @param page
     * @return
     */
    List<Member> findAllByPage(Page page);

    /**
     * 通过手机号查询
     * @param phone
     * @return
     */
    List<MemberInfo> find(String phone);

    /**
     *
     * @param page
     * @return
     */
    List<MemberInfo> findAll(Page page);

    /**
     * 添加会员
     * @param name
     * @param sex
     * @param IDCardNo
     * @param phone
     * @param userId
     * @return
     */
    boolean add(String name, int sex, String IDCardNo, String phone, int userId);

    /**
     * 修改会员
     */
    void update(int memberId,String name,String phone,String IDCard);

}
